package LeetCode;


import java.util.List;

public class No21 {
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        if(list1==null) return list2;
        if(list2==null) return list1;
        if(list1.val<list2.val){
            list1.next = mergeTwoLists(list1.next,list2);
            return list1;
        }else{
            list2.next = mergeTwoLists(list1,list2.next);
            return list2;
        }

        //迭代
//        if(list1==null) return list2;
//        if(list2==null) return list1;
//        ListNode head;
//        if(list1.val>=list2.val){
//            head = list1;
//            list1=list1.next;
//        }else {
//            head = list2;
//            list2 = list2.next;
//        }
//        ListNode curr = head.next;
//        while(list1!=null&&list2!=null){
//            if(list1.val>=list2.val) {
//                curr = list1;
//                list1 = list1.next;
//            }
//            else{
//                curr = list2;
//                list2 = list2.next;
//            }
//            curr = curr.next;
//        }
//        if(list1!=null) curr.next = list1;
//        if(list2!=null) curr.next = list2;
//        return head;
    }
}
